define(function (require,exports,module) {
    var myPub = require('./public');
    var myAdsModel = require('./adsModel');
    var billDateUrl = '/regionFeature/loadGoods';                // 模拟数据
    var indexAreaUrl = '/regionFeature/loadGoods2';              // 主站接口
    var oWindow = $(window);
    var oLoadingNull = $('.js_loadingBtn').eq(0);        // 没有更多了按钮
    var oLoading = $('.js_loadingBtn').eq(1);            // 加载中
    var oWrap = $('.js_wrap');                           // 滚动部分
    var ordersListBox = $('.js_goodsList');              // 底部商品页容器
    var oGoods_showTwo = $('.js_goods_showTwo');
    var oFooter = $('.js_footer');                       // 底部按钮
    var lazLoading = new myPub.lazLoadingImg();
    var resizeTimer = null;
    var regionId=$('#regionId').length>0?$('#regionId').val():"";
    oFooter.on("touchmove",function(e) {e.preventDefault()});
    module.exports = {
        init:function (regionMallName) {
            connectHtml.AjaxData(connectHtml.start, connectHtml.limit);
            connectHtml.ScrollPage();
            connectHtml.connectInit(true);
            // 请求加载广告模块
            myAdsModel.adsAjax.AdsAjaxDataForRegion(0,regionMallName);
            // 页面尺寸修改
            oWindow.on('resize',function() {
                if (resizeTimer) {
                    clearTimeout(resizeTimer)
                }
                resizeTimer = setTimeout(function(){
                    connectHtml.connectInit(true);
                }, 400);

            });
        }
    };
    var connectHtml = {
        limit:20,       // 每次加载的条数
        getData:[],     // 数据记录
        pagearr:1,      // 当前页码数
        start:0,        // 开始数据
        end:0,          // 结束数据
        bLoadOff:true,  // 加载开关
        bindexArea:false, // 地区馆有无数据 是否加载主站首页数据
        // 设置商品数据
        AjaxData:function (start,limit,fn) {
            var _this = this;
            G_JSON_POST(billDateUrl,{
                'regionId':regionId,
                'start':_this.start,
                'limit':_this.limit
            },function (data) {
                // 存储数据
                _this.getData = data;
                // 页码是1且没有数据
                if(_this.getData.length == 0 && _this.pagearr < 2) {
                    _this.bindexArea = true;
                    connectHtml.IndexData(connectHtml.start, connectHtml.limit);
                    return
                }
                // 页数大于1
                if( _this.pagearr >=1) {
                    if( _this.getData.length == 0) {
                        oLoading.hide();
                        oLoadingNull.show();
                        _this.bLoadOff = false;
                        return
                    }
                }
                // 拼接页面
                _this.GoodsLiBoxHtml(_this.getData);
                oLoading.show();

                if(_this.getData.length <  _this.limit) {
                    oLoading.hide();
                    oLoadingNull.show();
                    _this.bLoadOff = false;
                }
                data = null;
                if(fn)fn();
            }, function () {
                // start
            }, function () {
                // end
            });
        },
        // 设置主站页面数据
        IndexData:function (start,limit,fn) {
            var _this = this;
            G_JSON_POST(indexAreaUrl,{
                'regionGroupName':'H5首页_新品推荐',//微信首页_新品推荐 替换分组名称
                'start':_this.start,
                'limit':_this.limit
            },function (data) {
                // 存储数据
                _this.getData = data;
                // 页码是1且没有数据
                if(_this.getData.length == 0 && _this.pagearr < 2) {
                    _this.bLoadOff = false;
                    return
                }
                // 页数大于
                if( _this.pagearr >=1) {
                    if( _this.getData.length == 0) {
                        oLoading.hide();
                        oLoadingNull.show();
                        _this.bLoadOff = false;
                        return
                    }
                }
                // 拼接页面
                _this.GoodsLiBoxHtml(_this.getData);
                //oLoading.show();

                if(_this.getData.length <  _this.limit) {
                    console.log('页底');
                    oLoading.hide();
                    oLoadingNull.show();
                    _this.bLoadOff = false;
                }
                data = null;
                if(fn)fn();
            }, function () {
                // start
            }, function () {
                // end
            });
        },
        ScrollPage: function () {
            var _this = this;
            var minScrHeight = 200;
            oWindow.on('scroll', function () {
                var afterScroll = $(this).scrollTop();
                // 滚动页面距离底部200像素 延迟250毫秒加载数据
                clearTimeout(_this.time_Scroll);
                _this.time_Scroll = setTimeout(function() {
                    if(oWrap[0].scrollHeight - afterScroll - oWindow.height() < minScrHeight) {
                        // 设置翻页到最后一页 返回
                        if(!_this.bLoadOff) {
                            _this.dataJson = null;
                            return;
                        }

                        // 滚动底部页数增加 起始数据等于上次结束数据  新的结束等于页数*页码数
                        _this.start = _this.limit*_this.pagearr;
                        _this.pagearr++;
                        _this.AjaxData(_this.start, _this.limit);
                        if(_this.bindexArea){
                            _this.IndexData(_this.start, _this.limit)
                        }
                    }
                },250);
            })
        },
        // 页面初始化
        connectInit:function (bOff) {
            if(bOff){
                oWrap.css({
                    'padding-bottom' : oFooter.outerHeight(true)
                });
                myPub.SetImgHeight(oGoods_showTwo);
            }
            lazLoading.AddLazLoadingImg(oWrap[0]);
        },
        // 正常的数据
        GoodsLiBoxHtml : function (data, fn) {
            var _this = this;
            var shtml = '';
            /*for (var i=0; i<data.length; i++) {
                shtml +='<li>'+
                    '       <a class="BoxSelf" href="' + BASE_URL + '/h/goodspay/goodsView/' + data[i].goodsSn + '">'+
                    '           <figure>'+
                    '               <img class="js_lazyImg"  src="'+HTTP_IMAGE_URL+data[i].showImage+smallImgArg200+'">';
                //全额保障  选择性显示哪些右上角图标
                var firstGueeImagePath=data[i].firstGueeImagePath;
                if(firstGueeImagePath!=null && firstGueeImagePath!=""){
                    var gueeUrl=firstGueeImagePath;
                    shtml += '<img src="'+gueeUrl+'"alt="" class="quanpei"/>';
                }
                shtml +=  '           </figure>'+
                    '           <aside class="priceArea VBox Bflex1">'+
                    '               <div class="Bflex1 priceArea_name">'+
                    '                   <h4>'+data[i].name+'</h4>'+
                    '                   <p class="smallFont_tip">'+data[i].title+'</p>'+
                    '               </div>'+
                    '               <div class="priceArea_price">'+
                    '                   <p class="HBox priceAreaBox">'+
                    '                       <span class="goodsPriceOld">￥'+data[i].defaultMemberPrice
                    +'</span>'+
                    '                       <span class="goodsPrice">￥'+data[i].salePrice+'</span>'+
                    '                   </p>'+
                    '               </div>'+
                    '           </aside>'+
                    '       </a>'+
                    '       <p class="addCar js_addCar"><em class="icon-shopcar_small"></em></p>'+
                    '   </li>'
            }*/
            for (var i=0; i<data.length; i++) {
                shtml +='<li>'+
                    '       <a class="BoxSelf" href="/h/goodspay/goodsView/' + data[i].goodsSn + '?goodschannel=regionfeature&regionId='+regionId+'">'+
                    '           <figure>'+
                    '               <img class="js_lazyImg"  src="'+HTTP_IMAGE_URL+data[i].showImage+smallImgArg200+'">'+
                    '           </figure>'+
                    '           <aside class="priceArea VBox Bflex1">'+
                    '               <div class="Bflex1 priceArea_name">'+
                    '                   <h4>'+data[i].name+'</h4>'+
                    '                   <p class="smallFont_tip">'+data[i].title+'</p>'+
                    '               </div>'+
                    '               <div class="priceArea_price">'+
                    '                   <p class="HBox priceAreaBox">'+
                    // '                       <span class="goodsPriceOld">￥'+data[i].salePrice+'</span>'+
                    '                       <span class="goodsPrice">￥'+data[i].salePrice+'</span>'+
                    '                   </p>'+
                    '               </div>'+
                    '               <p class="addCar js_addCar" pId="' + data[i].productId + '" regionId="'+regionId+'"><em class="icon-shopcar_small"></em></p>'+
                    '           </aside>'+
                    '       </a>'+
                    '   </li>'
            }
            var oshtml = $(shtml);
            ordersListBox.append(oshtml);
            // 给图片的figure设置高宽
            myPub.SetImgHeight(oshtml);
            // 高度检测
            if(oWrap.height() < oWindow.height()){
                //console.log('不够高度');
                _this.start = _this.limit*_this.pagearr;
                _this.pagearr++;
                _this.AjaxData(_this.start, _this.limit);
                if(_this.bindexArea){
                    _this.IndexData(_this.start, _this.limit)
                }
            }
            lazLoading.DestroyLazLoadingImg();
            lazLoading.AddLazLoadingImg(oWrap[0]);
            if(fn)fn();

        }
    }
});